import httpInstance from "@/utils/http";

/**
 * 用户相关API服务
 */
export default {
  /**
   * 获取用户详细信息
   * @returns {Promise} 获取用户信息的Promise
   */
  getUserDetail() {
    return httpInstance.post('/api/user/detail');
  },

  /**
   * 更新用户信息
   * @param {Object} userData 用户数据
   * @returns {Promise} 更新用户信息的Promise
   */
  updateUserInfo(userData) {
    return httpInstance.post('/api/user/update', userData);
  },
  
  /**
   * 上传图片（头像、活动海报等）
   * @param {File} file 文件对象
   * @returns {Promise} 上传图片的Promise
   */
  uploadImage(file) {
    const formData = new FormData();
    formData.append('file', file);
    return httpInstance.post('api/sys/upload', formData, {
      headers: {
        'Content-Type': 'multipart/form-data'
      }
    });
  },
  
  /**
   * 获取好友列表
   * @returns {Promise} 获取好友列表的Promise
   */
  getFriendsList() {
    return httpInstance.get('api/user/friends');
  },

  /**
   * 搜索用户
   * @param {String} searchMode 搜索模式 (nickname/phone)
   * @param {String} keyword 搜索关键词
   * @returns {Promise} 搜索用户的Promise
   */
  searchUsers(searchMode, keyword) {
    return httpInstance.get(`/api/user/search?searchMode=${searchMode}&keyword=${keyword}`);
  },

  /**
   * 发送好友请求
   * @param {Object} currentUser 当前用户对象
   * @param {Object} targetUser 目标用户对象
   * @returns {Promise} 发送好友请求的Promise
   */
  sendFriendRequest(currentUser, targetUser) {
    return httpInstance.post('api/user/send', {
      content: `用户<span style="color: red">${currentUser.nickname}</span>请求添加您为好友，是否同意？`,
      type: 4,
      from: currentUser.id,
      to: targetUser.id
    });
  },
  
  /**
   * 获取学院映射表
   * @returns {Promise} 获取学院映射表的Promise
   */
  getDepartments() {
    return httpInstance.get('/api/sys/dep');
  },
  
  /**
   * 修改密码
   * @param {Object} passwordData 密码数据
   * @returns {Promise} 修改密码的Promise
   */
  changePassword(passwordData) {
    return httpInstance.post('/api/user/changePassword', passwordData);
  }
}; 